Various types of memory are used with digital integrated circuits (“ICs”). Volatile memory is a type of memory that loses its stored information when power is removed from the memory circuit. Random access memory (“RAM”) is an example of volatile memory. A RAM cell can be easily reprogrammed to a desired logic state, and is often implemented in complementary metal-oxide-semiconductor (CMOS) logic. Non-volatile memory is a type of memory that preserves its stored information even if power is removed. Read-only memory (“ROM”) is an example of non-volatile memory.
Programmable read-only memory (“PROM”) is a type of memory that is configured to a desired state. A programming signal is applied to a PROM memory cell to change the cell from a first condition (i.e. first logic state) to a second condition (i.e. a second logic state). Programmable non-volatile memory is desirable in programmable logic devices (“PLDs”), such as field-programmable gate arrays (“FPGAs”) and complex programmable logic devices (“CPLDs”). Some types of programmable non-volatile memory, such as anti-fuse based memory, can only be programmed once. Another type of programmable non-volatile memory can be electronically programmed and erased several times. Examples of this type of non-volatile memory are commonly referred to as electronically erasable programmable read-only memory (“CMOS NON-VOLATILE MEMORY”) or “flash” memory.
Conventional flash memory cells use multiple poly-silicon (“poly”) deposition and patterning steps, and typically have overlapping poly structures. Such flash memory is expensive to incorporate in a CMOS IC because of the additional process steps, particularly the additional poly deposition steps. A typical CMOS fabrication sequence includes only a single polysilicon deposition. It is desirable to provide a CMOS non-volatile memory cell fabricated using standard CMOS techniques.